Jetson Nano使用Tensorrt加速Yolo V4 | 您所在的位置:网站首页 › opencv tensorrt › Jetson Nano使用Tensorrt加速Yolo V4 |
Jetson Nano使用Tensorrt加速Yolo V4-tiny进行实时检测
![]() 之前在Darknet下使用Yolo V4-tiny进行了图像实时检测的测试,发现帧率一直只有十几,还有很大的提升空间,今天就来尝试一下使用tensorrt进行加速后的效果。 基础环境Jetson Nano B01 4GB CUDA 10.2.300 OpenCV 4.1.1 (显示没有用CUDA进行编译,不知道是否有影响) Tensorrt 8.0.1.6 cuDNN 8.2.1.32 Python 3.6.9 git clone https://github.com/jkjung-avt/tensorrt_demos 在文件夹中点击yolo,里面含有一个requirements.txt的文件夹,包含了所需安装的库及版本,需要逐个安装。 ![]() 在下载好的代码包中有写好的pycuda安装脚本,在脚本目录下运行即可。 ./install_pycuda.sh 经过了比较漫长的等待之后,安装完成,似乎numpy也安装了,但是版本不太对。 一开始直接安装numpy失败了,原因是缺少了Cython。 ![]() pip3 install Cython pip3 install numpy 由于onnx是限定版本的,所以得加上版本号。首先得安装依赖,不然又会报错。 sudo apt-get install protobuf-compiler libprotoc-dev pip3 install onnx==1.4.1 在yolo文件夹下有一个download_yolo.sh 文件,里面包含了yolov3 和yolov4的各种模型和cfg文件的下载,运行该脚本,或者自行放入相关模型在文件夹中。 然后进入plugins文件夹下执行make编译。
编译完成后,切到yolo文件夹下将yolov4-tiny.weights文件转换为onnx格式 。 python3 yolo_to_onnx.py -m yolov4-tiny
转换成功后,再生成trt文件。出现了一些警告,应该问题不大。 python3 onnx_to_tensorrt.py -m yolov4-tiny
接下来就回到demos目录下,来测试一下了。 先是经典照片 python3 trt_yolo.py --image dog.jpg -m yolov4-tiny 不懂为啥图片也要加个帧率 ,接下来看看CSI摄像头的测试效果。 python3 trt_yolo.py --gstr "nvarguscamerasrc ! video/x-raw(memory:NVMM), width=1280, height=720, format=NV12, framerate=30/1 ! nvvidconv flip-method=2 ! video/x-raw, width=1280, height=720, format=BGRx ! videoconvert ! video/x-raw, format=BGR ! appsink" -m yolov4-tiny 画面因为安装问题所以是倒置的,大家也可以用命令调整一下。帧率可以达到二十左右,效果还行,流畅了不少,按esc退出,ctrl+c会卡很久。测试一下视频。 python3 trt_yolo.py --video test.mp4 -m yolov4-tiny 帧率也在20左右,效果不错,很流畅。帧率可能还是和模型的关系比较大。 参考在Jetson Nano上进行实时目标检测:使用tensorRT加速yolov3 v4-tiny (tensorrt_demos)_Uncle Pan's Blog-CSDN博客_jetson nano yolov4加速 yolov4-tiny使用jetson nano进行目标检测+tensorrt+CSI+USB摄像头检测_hhhhhhky的博客-CSDN博客 jetson nano +yolov4-tiny使用tensorRT优化模型做到实时检测_戚晨夕的博客-CSDN博客 目标检测YOLO深度学习PythonJetson Nano
打赏 0 点赞 0 收藏 0 分享 微信 微博 QQ 图片 上一篇:MSP432P401R学习:GPIO(输入、输出、中断) 下一篇:MSP432P401R学习:GPIO(输入、输出、中断) |
CopyRight 2018-2019 实验室设备网 版权所有 |